﻿using System.Runtime.Serialization;
using System.ServiceModel;

namespace Coding4Fun.Cannon.Wcf
{
	// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IAimService" in both code and config file together.
	[ServiceContract]
	public interface IAimService
	{
		#region pan / tilt moving
		[OperationContract]
		AimData Reset();

		[OperationContract]
		AimData SetPanAndTiltRandomly();

		[OperationContract]
		AimData SetPanAndTiltAngles(double panAngle, double tiltAngle);

		[OperationContract]
		AimData SetPanAngle(double angle);

		[OperationContract]
		AimData SetTiltAngle(double angle);

		[OperationContract]
		AimData SetByAimData(AimData data);

		[OperationContract]
		AimData SetAimFiringTiltAngle();

		[OperationContract]
		AimData GetAimData();
		#endregion
	}

	[DataContract]
	public struct AimData
	{
		[DataMember]
		public double PanAngle;

		[DataMember]
		public double TiltAngle;
	}
}
